const {
	request
} = require("./request.js");

/**
 * 处理国家地区数据，转换为三级联动需要的数据结构
 * @param {Object} countryObj 国家对象（包含children省份数据）
 * @returns {Object} {provinces, cities, areas} 三级数据
 */
export function processCountryData(countryObj) {
	const result = {
		provinces: [], // 省份列表
		cities: {}, // 城市字典 {省份code: 城市数组}
		areas: {} // 区县字典 {城市code: 区县数组}
	};

	if (!countryObj || !countryObj.children) {
		return result;
	}

	// 处理省份数据
	countryObj.children.forEach(province => {
		// 添加省份
		result.provinces.push({
			code: province.code,
			name: province.name,
			id: province.id // 保留原始ID
		});

		const provinceCode = province.code;
		result.cities[provinceCode] = [];

		// 处理城市数据
		if (province.children && province.children.length > 0) {
			province.children.forEach(city => {
				// 添加城市
				result.cities[provinceCode].push({
					code: city.code,
					name: city.name,
					id: city.id
				});

				const cityCode = city.code;
				result.areas[cityCode] = [];

				// 处理区县数据
				if (city.children && city.children.length > 0) {
					city.children.forEach(area => {
						result.areas[cityCode].push({
							code: area.code,
							name: area.name,
							id: area.id
						});
					});
				}
			});
		}
	});

	return result;
}

/**
 * 从API获取地区数据并处理
 * @returns {Promise} 返回处理后的地区数据
 */
export async function fetchAndProcessAreaData() {
	try {
		// 调用API获取数据
		const res = await uni.request({
			url: "https://mqzhian.cn:8088/system/domicile/getQgTree",
			method: "get",
			// data,
		});
		console.log('resresresresresresresres', res)
		// 处理数据
		if (res[1].data && res[1].data.code === 200) {
			return processCountryData(res[1].data.data); // 根据实际API返回结构调整
		}
		return null;
	} catch (error) {
		console.error('获取地区数据失败:', error);
		return null;
	}
}